[IA64] Fix vcpu hotplug
authorAlex Williamson <alex.williamson@hp.com>
Thu, 3 May 2007 20:38:26 +0000 (14:38 -0600)
committerAlex Williamson <alex.williamson@hp.com>
Thu, 3 May 2007 20:38:26 +0000 (14:38 -0600)
commit5416852aaba25ffcaddbb45923121b1025a44eed
tree01750ff1eb71b88ccba197c033d6bbed072ea452
parent9810e8cdd8642b0ef188b3770efaa29256f5fea2
[IA64] Fix vcpu hotplug

When domain is saved and restored, the following message is printed out.
bind_ipi_to_irqhandler()/bind_virq_to_irqhandler() should be called
in process context.  Move the call from cpu_init() to __cpu_init() like x86.

BUG: sleeping function called from invalid context at /src1/yamahata/hg/xen/ia64
/my150/compile/test-0/xen-ia64-unstable.hg/linux-2.6.18-xen/mm/slab.c:2901
in_atomic():0, irqs_disabled():1

Call Trace:
 [<a00000010001b190>] show_stack+0x50/0xa0
                                sp=e0000000004ff8b0 bsp=e0000000004f9358
 [<a00000010001b210>] dump_stack+0x30/0x60
                                sp=e0000000004ffa80 bsp=e0000000004f9340
 [<a000000100070f40>] __might_sleep+0x2c0/0x2e0
                                sp=e0000000004ffa80 bsp=e0000000004f9318
 [<a00000010012c230>] __kmalloc+0xb0/0x320
                                sp=e0000000004ffa90 bsp=e0000000004f92e0
 [<a0000001001a98d0>] proc_create+0x110/0x1c0
                                sp=e0000000004ffa90 bsp=e0000000004f9298
 [<a0000001001a9ca0>] proc_mkdir_mode+0x40/0xe0
                                sp=e0000000004ffaa0 bsp=e0000000004f9268
 [<a0000001001a9d70>] proc_mkdir+0x30/0x60
                                sp=e0000000004ffab0 bsp=e0000000004f9240
 [<a0000001000e97e0>] register_handler_proc+0x1a0/0x1e0
                                sp=e0000000004ffab0 bsp=e0000000004f91f0
 [<a0000001000e6420>] setup_irq+0x440/0x4e0
                                sp=e0000000004ffb30 bsp=e0000000004f9198
 [<a0000001000e68c0>] request_irq+0x140/0x1a0
                                sp=e0000000004ffb30 bsp=e0000000004f9150
 [<a0000001003e7a20>] bind_ipi_to_irqhandler+0x260/0x2c0
                                sp=e0000000004ffb30 bsp=e0000000004f90e8
 [<a000000100019780>] xen_register_percpu_irq+0x2c0/0x880
                                sp=e0000000004ffb40 bsp=e0000000004f9098
 [<a00000010001a1f0>] xen_smp_intr_init+0x170/0x1c0
                                sp=e0000000004ffb40 bsp=e0000000004f9070
 [<a00000010003d350>] cpu_init+0x1090/0x10e0
                                sp=e0000000004ffb50 bsp=e0000000004f8fe0
 [<a0000001000607a0>] start_secondary+0xc0/0x520
                                sp=e0000000004ffe30 bsp=e0000000004f8f90
 [<a0000001000105f0>] __end_ivt_text+0x6d0/0x700
                                sp=e0000000004ffe30 bsp=e0000000004f8f90

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
linux-2.6-xen-sparse/arch/ia64/kernel/irq_ia64.c